package com.ruoyi.reportsnhnt.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import com.ruoyi.reportsnhnt.domain.ReportSnhntBhwmslBaDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 水泥混凝土拌合物泌水率试验检测记录业务对象 report_snhnt_bhwmsl_bs_info
 *
 * @author zxs
 * @date 2024-06-21
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportSnhntBhwmslBsInfoBo extends ExcelGeneralBo {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品信息
     */
    @NotBlank(message = "样品信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpxx;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 来样时间
     */
    @NotNull(message = "来样时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date laiysj;

    /**
     * 试验检测日期
     */
    @NotNull(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件
     */
    @NotBlank(message = "试验条件不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytj;

    /**
     * 温度
     */
    @NotBlank(message = "温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String wend;

    /**
     * 相对湿度
     */
    @NotBlank(message = "相对湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xiangdsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 设备id(逗号隔开)
     */
    @NotBlank(message = "设备id(逗号隔开)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;

    /**
     * 开始试验加水时间(h：min)
     */
    @NotNull(message = "开始试验加水时间(h：min)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date kaissyjssj;

    /**
     * 搅拌方式
     */
    @NotBlank(message = "搅拌方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiaobfs;

    /**
     * 吸水累计总量1(mL)
     */
    @NotNull(message = "吸水累计总量1(mL)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xisljzl1;

    /**
     * 吸水累计总量2(mL)
     */
    @NotNull(message = "吸水累计总量2(mL)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xisljzl2;

    /**
     * 吸水累计总量3(mL)
     */
    @NotNull(message = "吸水累计总量3(mL)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xisljzl3;

    /**
     * 试件外露表面面积(mm2)
     */
    @NotNull(message = "试件外露表面面积(mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shijwlbmmj;

    /**
     * 泌水量(ml/mm2)
     */
    @NotNull(message = "泌水量(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misl1;

    /**
     * 泌水量(ml/mm2)
     */
    @NotNull(message = "泌水量(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misl2;

    /**
     * 泌水量(ml/mm2)
     */
    @NotNull(message = "泌水量(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misl3;

    /**
     * 泌水量(ml/mm2)
     */
    @NotNull(message = "泌水量(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal mislpj;

    /**
     * 试样筒质量(g)
     */
    @NotNull(message = "试样筒质量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiytzl1;

    /**
     * 试样筒质量(g)
     */
    @NotNull(message = "试样筒质量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiytzl2;

    /**
     * 试样筒质量(g)
     */
    @NotNull(message = "试样筒质量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiytzl3;

    /**
     * 泌水前试样筒及试样
     */
    @NotNull(message = "泌水前试样筒及试样不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misqsytjsy1;

    /**
     * 泌水前试样筒及试样2
     */
    @NotNull(message = "泌水前试样筒及试样2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misqsytjsy2;

    /**
     * 泌水前试样筒及试样3
     */
    @NotNull(message = "泌水前试样筒及试样3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal misqsytjsy3;

    /**
     * 拌合物总质量(g)
     */
    @NotNull(message = "拌合物总质量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal banhwzzl;

    /**
     * 拌合物所需总用水量(g)
     */
    @NotNull(message = "拌合物所需总用水量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal banhwsxzysl;

    /**
     * 泌水率(ml/mm2)1
     */
    @NotNull(message = "泌水率(ml/mm2)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal mislv1;

    /**
     * 泌水率2(ml/mm2)
     */
    @NotNull(message = "泌水率2(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal mislv2;

    /**
     * 泌水率3(ml/mm2)
     */
    @NotNull(message = "泌水率3(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal mislv3;

    /**
     * 泌水率平均值(ml/mm2)
     */
    @NotNull(message = "泌水率平均值(ml/mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal mislvpj;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String beiz;

    private List<ReportSnhntBhwmslBaDetail> detailList;

}
